//-------------------- badge演示 ------------------------//
/*(function()
{
	var showBadge = false;
	var menuId = chrome.contextMenus.create({
		title: '显示图标上的Badge',
		type: 'checkbox',
		checked: false,
		onclick: function() {
			if(!showBadge)
			{
				chrome.browserAction.setBadgeText({text: 'New'});
				chrome.browserAction.setBadgeBackgroundColor({color: [255, 0, 0, 255]});
				chrome.contextMenus.update(menuId, {title: '隐藏图标上的Badge', checked: true});
			}
			else
			{
				chrome.browserAction.setBadgeText({text: ''});
				chrome.browserAction.setBadgeBackgroundColor({color: [0, 0, 0, 0]});
				chrome.contextMenus.update(menuId, {title: '显示图标上的Badge', checked: false});
			}
			showBadge = !showBadge;
		}
	});
})();*/

// 监听来自content-script的消息
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
	console.log('收到来自content-script的消息：');
	console.log(request, sender, sendResponse);
	sendResponse('我是后台，我已收到你的消息：' + JSON.stringify(request));
});

$('#test_cors').click((e) => {
	$.get('https://www.baidu.com', function (html) {
		console.log(html);
		alert('跨域调用成功！');
	});
});

$('#get_popup_title').click(e => {
	var views = chrome.extension.getViews({ type: 'popup' });
	if (views.length > 0) {
		alert(views[0].document.title);
	} else {
		alert('popup未打开！');
	}
});

// 获取当前选项卡ID
function getCurrentTabId(callback) {
	chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) {
		if (callback) callback(tabs.length ? tabs[0].id : null);
	});
}

// 当前标签打开某个链接
function openUrlCurrentTab(url) {
	getCurrentTabId(tabId => {
		chrome.tabs.update(tabId, { url: url });
	})
}

// 新标签打开某个链接
function openUrlNewTab(url) {
	chrome.tabs.create({ url: url });
}

// omnibox 演示
// chrome.omnibox.onInputChanged.addListener((text, suggest) => {
// 	console.log('inputChanged: ' + text);
// 	if(!text) return;
// 	if(text == '美女') {
// 		suggest([
// 			{content: '中国' + text, description: '你要找“中国美女”吗？'},
// 			{content: '日本' + text, description: '你要找“日本美女”吗？'},
// 			{content: '泰国' + text, description: '你要找“泰国美女或人妖”吗？'},
// 			{content: '韩国' + text, description: '你要找“韩国美女”吗？'}
// 		]);
// 	}
// 	else if(text == '微博') {
// 		suggest([
// 			{content: '新浪' + text, description: '新浪' + text},
// 			{content: '腾讯' + text, description: '腾讯' + text},
// 			{content: '搜狐' + text, description: '搜索' + text},
// 		]);
// 	}
// 	else {
// 		suggest([
// 			{content: '百度搜索 ' + text, description: '百度搜索 ' + text},
// 			{content: '谷歌搜索 ' + text, description: '谷歌搜索 ' + text},
// 		]);
// 	}
// });

// // 当用户接收关键字建议时触发
// chrome.omnibox.onInputEntered.addListener((text) => {
//     console.log('inputEntered: ' + text);
// 	if(!text) return;
// 	var href = '';
//     if(text.endsWith('美女')) href = 'http://image.baidu.com/search/index?tn=baiduimage&ie=utf-8&word=' + text;
// 	else if(text.startsWith('百度搜索')) href = 'https://www.baidu.com/s?ie=UTF-8&wd=' + text.replace('百度搜索 ', '');
// 	else if(text.startsWith('谷歌搜索')) href = 'https://www.google.com.tw/search?q=' + text.replace('谷歌搜索 ', '');
// 	else href = 'https://www.baidu.com/s?ie=UTF-8&wd=' + text;
// 	openUrlCurrentTab(href);
// });

// 预留一个方法给popup调用
function testBackground() {

}

//	给pop页面调用的方法:background 中能够跨域,而popup页面中则不行
function bgGetUnusualList(ajaxCfg, callback) {
	return new Promise(function (resolve, reject) {
		$.get(ajaxCfg.url, function (data) {
			console.log("data", data);
			resolve(callback(data))
		}).catch(function () {
			resolve(false)
		})
	})

}



// 是否显示图片
var showImage;
chrome.storage.sync.get({ showImage: true }, function (items) {
	showImage = items.showImage;
});
// web请求监听，最后一个参数表示阻塞式，需单独声明权限：webRequestBlocking
chrome.webRequest.onBeforeRequest.addListener(details => {
	// cancel 表示取消本次请求
	if (!showImage && details.type == 'image') return { cancel: true };
	// 简单的音视频检测
	// 大部分网站视频的type并不是media，且视频做了防下载处理，所以这里仅仅是为了演示效果，无实际意义
	if (details.type == 'media') {
		chrome.notifications.create(null, {
			type: 'basic',
			iconUrl: 'img/icon.png',
			title: '检测到音视频',
			message: '音视频地址：' + details.url,
		});
	}
}, { urls: ["<all_urls>"] }, ["blocking"]);